A common type of network that is deployed in organizations is the client-server network. In a client-server network, there may be a number of client computing devices, or clients, which are typically used by end users of an organization, and a number of server computing devices, or servers, which are computing devices that are shared among the clients, and thus the users. Types of servers can include application servers, file servers, intranet servers, e-mail servers, electronic commerce servers, print servers, proxy servers, and web servers, among other kinds of servers.
To reduce information technology (IT) costs, some types of servers can run virtual host computer programs. A virtual host computer program is a type of supervising computer program, which enables a number of virtual machine computer programs to be run on the server. A virtual machine computer program allows a separate instance of an operating system to be run thereon, such as versions of the Microsoft Windows® operating system, versions of the UNIX® operating system, and versions of the Linux® operating system.
In an environment within which virtual machine computer programs are run on virtual host computer programs of servers, users may not be required to have full-fledged client computing devices. Rather, each user may be assigned a virtual machine computer program, and have a reduced-capability client computing device that basically handles input from the user to send to the virtual machine computer program, and output from the virtual machine computer program to the user. The server on which the virtual machine computer program runs thus provides the computational support for a number of users, so that expensive clients are not needed for these users.
In these and other types of uses of virtual machine computer programs, maintaining high availability of the servers is important. For instance, a faulty server can affect a number of users, whereas a faulty client may affect just a single user. Mission-critical application computer programs may run in conjunction with the operating systems of the virtual machine computer programs, regardless of whether the virtual machine computer programs correspond to particular users or whether they run multiple user-type application computer programs. A faulty server in this instance may affect a number of virtual machine computer programs, and thus a number of mission-critical application computer programs, which can be expensive to the organizations running these mission-critical application programs.
Furthermore, in most organizations, power conservation has become an issue, both to reduce operational costs of IT, and to prove to the general public that the organizations are good public citizens. In many situations, a larger number of servers than is typically needed are powered on, for peak-utilization situations in which the processing capability of all the servers may be needed. However, the occurrence of such peak-utilization situations may be infrequent, wasting electrical power for the majority of the time in which all of the servers remain powered on.
For these and other reasons, there is a need for the present invention.